package com.zbkj.common.model.saleroom;

import com.baomidou.mybatisplus.annotation.TableField;
import com.zbkj.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 门店信息主对象 eb_sale_room
 *
 * @author zkf
 * @date 2025-02-21
 */
@Data
@Accessors(chain = true)
@TableName("eb_sale_room")
public class SaleRoom implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "门店信息主对象id")
    @TableId(value = "id", type = IdType.AUTO)
    @NotNull(message = "id不能为空")
    private Long id;

    @ApiModelProperty(value = "门店类型(1直营店  2加盟店)")
    private Integer roomType;

    @Excel(name = "门店名称")
    @ApiModelProperty(value = "门店名称")
    private String roomName;

    @ApiModelProperty(value = "门店编号")
    private String roomNumber;

    @ApiModelProperty(value = "地图位置")
    private String mapLocation;

    @ApiModelProperty(value = "门店地址")
    private String roomAdress;

    @ApiModelProperty(value = "门店联系电话")
    private String roomPhone;

    @ApiModelProperty(value = "密码")
    private String roomPassword;

    @ApiModelProperty(value = "详细地址")
    private String detailedAddress;

    @ApiModelProperty(value = "门店营业时间")
    private String roomJobTime;

    @ApiModelProperty(value = "门店经纬度定位")
    private String roomPosition;

    @ApiModelProperty(value = "门店负责人")
    private String roomManager;

    @ApiModelProperty(value = "城市")
    private String city;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "配送距离")
    private BigDecimal deliveryDistance;

    @ApiModelProperty(value = "配送范围(经纬度数组对象)")
    private String deliveryRange;

    @ApiModelProperty(value = "门店状态(0关闭 1开启)")
    private Integer roomStatus;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "创建时间")
    private String createTime;

    @ApiModelProperty(value = "修改时间")
    private String updateTime;


    @TableField(exist = false)
    @ApiModelProperty(value = "配送范围(经纬度数组对象)")
    private List<Double[]> deliveryRangeList;

    @TableField(exist = false)
    @ApiModelProperty(value = "显示的距离")
    private String distance;

    @TableField(exist = false)
    @ApiModelProperty(value = "库存")
    private Integer stock;

    @TableField(exist = false)
    @ApiModelProperty(value = "商品规格id")
    private String specsId;

    @TableField(exist = false)
    @ApiModelProperty(value = "是否有货(1有货  0没货)")
    private Integer isStock;

    @TableField(exist = false)
    @ApiModelProperty(value = "是否在营业时间内(true在  false不在)")
    private Boolean isBusinessHours;

    @TableField(exist = false)
    @ApiModelProperty(value = "是否在配送范围内(false否 true是)")
    private Boolean isRange;

    @TableField(exist = false)
    @ApiModelProperty(value = "显示的距离")
    private Double distances;
}
